<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <ui:composition template="/pages/template/template.xhtml">
        <ui:define name="content">
            <h:form id="frmListado">
                <p:panel id="pnlFiltro" header="#{i18n['frm.usuario.busqueda']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFiltro" columns="6" cellpadding="4">
                        <h:outputLabel value="#{i18n['general.label.id']}" style="#{applicationMBean.estiloTitulo}"/>
                        <p:inputText value="#{usuarioMBean.dtoFiltro.id}" onkeypress="return fn_validaTecla('entero', this)"
                                     size="10" style="#{applicationMBean.estiloTitulo}">
                            <f:validateLongRange minimum="0" maximum="999999"/>
                        </p:inputText>
                        
                        <h:outputLabel value="#{i18n['frm.usuario.descripcion']}" style="#{applicationMBean.estiloTitulo}"/>
                        <p:inputText value="#{usuarioMBean.dtoFiltro.descripcion}" style="#{applicationMBean.estiloTitulo}"
                                     size="50"/>
                        
                        <h:outputLabel value="#{i18n['general.label.estado']}" style="#{applicationMBean.estiloTitulo}"/>
                        <p:selectOneMenu value="#{usuarioMBean.dtoFiltro.estado}" style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{usuarioMBean.siEstadosFiltro}"/>
                        </p:selectOneMenu>
                    </h:panelGrid>
                    
                    <f:facet name="footer">
                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.btn.buscar']}"
                                         value="#{i18n['general.btn.buscar']}" ajax="false"
                                         style="#{applicationMBean.cssBotonCeleste}"
                                         actionListener="#{usuarioMBean.buscar}">
                            <f:ajax render="pnlTabla pgFiltro"/>
                        </p:commandButton>
                        
                        <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['general.btn.nuevo']}"
                                         value="#{i18n['general.btn.nuevo']}"
                                         style="#{applicationMBean.cssBotonCeleste}"
                                         ajax="false"
                                         action="#{usuarioMBean.nuevo}">
                        </p:commandButton>
                        
                        <p:spacer width="20"/>
                        <h:outputText value="#{usuarioMBean.lista.size()} #{i18n['general.registros.encontrados']}" styleClass="mensaje" rendered="#{usuarioMBean.lista != null}"/>
                    </f:facet>
                </p:panel>
                
                <p:panel id="pnlTabla" header="#{i18n['general.resultado.busqueda']}" style="#{applicationMBean.estiloTitulo}" rendered="#{usuarioMBean.lista != null &amp;&amp; usuarioMBean.lista.size()>0}">
                    <h:panelGrid columns="1">
                        <p:dataTable id="tblPrincipal" var="dto" value="#{usuarioMBean.lista}" rowKey="#{dto.id}"
                                     paginator="true" paginatorPosition="top" rows="#{sessionMBean.cantidadRegistros}"
                                     emptyMessage="#{i18n['general.no.hay.registros']}" widgetVar="widTable" styleClass="estiloPanel">
                            <p:column headerText="#{i18n['general.label.id']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.id}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['frm.usuario.descripcion']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.descripcion}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['frm.usuario.descripcion.corta']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.descripcionCorta}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['frm.usuario.username']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.username}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['frm.usuario.email']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.email}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['general.label.estado']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.estado}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                            <p:column headerText="#{i18n['frm.usuario.url.imagen']}" style="#{applicationMBean.estiloLabel}">
                                <h:outputText value="#{dto.urlImagen}" style="#{applicationMBean.estiloLabel}"/>
                            </p:column>
                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>
        </ui:define>
    </ui:composition>
</html>

